def first_non_repeating_letter(xstr):
    letter2bool = {}
    for letter in xstr:
        l = letter.lower()
        stat = letter2bool.get(l, None)
        if stat is None:
            letter2bool[l] = False
        else:
            letter2bool[l] = True
    for letter in xstr:
        l = letter.lower()
        stat = letter2bool.get(l, None)
        if stat == False:
            return letter
    return None


if '__main__' == __name__:
    tests = [
        'stress',
        'sTreSS',
        'Good',
        'asdf',
        'BBRR',
    ]
    for xtest in tests:
        print(xtest, first_non_repeating_letter(xtest))
